# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
===========================
@Time : 2022/7/8 0008 22:28
@Author : 测试开发工程师
@File : 23. 接口管理 swagger.py
@Software: PyCharm
============================
"""

"""
项目 KickOff 启动会议
后端开发（DEV），前端开发(FE)  -> 制定接口规范
测试 ： 调试接口，mock

常用接口管理工具：
    1. Swagger: 接口管理的综合性解决方案
    2. YAPI ： 一个接口管理的平台：

YApi :   yapi.baidu.com           思寒： http://yapi.baidu.com/project/39594/interface/api/576169
YApi 是高效，易用，功能强大的 api 管理平台，在为开发，产品，测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建，发布，维护 API
YApi 还为用户提供了优秀的交互体验，开发人员只需要利用平台的接口数据写入 以及 简单的点击操作 就可以实现接口的管理。
    权限管理，YAPI成熟的团队管理扁平化项目权限配置满足各类企业的需求
    Mock Server : 易用的 Mock Server ,再也不用担心 mock 数据生成
    数据导入 : 支持导入 swagger,postman,har 数据格式，方便迁移旧项目
    可视化接口管理 ： 基于 websocket 的多人协作接口编辑功能和类 postman 测试工具，让多人协作成倍提升开发效率
    自动化测试 ： 完善的接口自动化测试，保证数据的正确性
    插件机制 ： 强大的插件机制，满足各类业务需求

Swagger: API 开发的综合性的一个工具集     官方文档：swagger.io/specification/

接口的生命周期：
 1. 需求与设计阶段：接口规范
 2. 研发阶段 ： a. stub 服务接口 （桩，固话的场景）  b. 基础测试用例编写设计
 3. 测试阶段 ： a. 完整的接口测试用例  b. 持续集成

swagger 解决方案：
    涵盖整个接口管理周期
    设计阶段：提供设计工具和规范
    研发阶段： 提供 stub 环境联调和客户端sdk
    测试阶段 ： 生成测试脚本和联调环境
    交付阶段： 文档和 sdk 交付

swagger 开源工具集：
    open api specification : api 描述的配置文件
    swagger editor : 交互式的 api 规范编写与文档界面生成工具
    swagger ui : 交互式的在线文档
    swagger codegen : 代码生成工具，用于生成 client sdk 与 stub server
    
    测试人社区 swagger 体验地址： https://swagger.ceshiren.com/ 


"""